.vin-form-item {
  display: flex;
  &::before {
    position: absolute;
    right: 16px;
    bottom: 0;
    left: 16px;
    box-sizing: border-box;
    transform: scaleX(0);
    content: ' ';
    pointer-events: none;
  }
  &.error {
    &.line {
      &::before {
        border-bottom: 1px solid $form-item-error-line-color;
        transform: scaleX(1);
        transition: transform 200ms cubic-bezier(0, 0, 0.2, 1) 0ms;
      }
    }
  }

  &__label {
    display: inline-block !important;
    flex: none !important;
    width: $form-item-label-width;
    margin-right: $form-item-label-margin-right;
    font-weight: normal;
    font-size: $form-item-label-font-size;
    text-align: $form-item-label-text-align;
    word-wrap: break-word;
    &.required {
      &::before {
        margin-right: $form-item-required-margin-right;
        color: $form-item-required-color;
        content: '*';
      }
    }
  }
  &__body {
    display: flex !important;
    flex: 1;
    flex-direction: column;
    &__slots {
      text-align: $form-item-body-slots-text-align;
      ::v-deep {
        .vin-input-text {
          width: 100%;
          font-size: $form-item-body-font-size;
          text-align: $form-item-body-input-text-align;
          text-decoration: none;
          border: 0;
          outline: 0 none;
        }
        .vin-range-container {
          min-height: 24px;
        }
        .vin-textarea {
          padding: 0 !important;
          .vin-textarea__textarea {
            text-align: $form-item-body-input-text-align;
          }
        }
      }
    }
    &__tips {
      color: $form-item-error-message-color;
      font-size: $form-item-tip-font-size;
      text-align: $form-item-tip-text-align;
    }
  }
}
